package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.math.BigDecimal;
import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 张拉结果业务对象 tension_result
 *
 * @author zyb
 * @date 2023-09-11
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TensionResultBo extends BaseEntity {

    /**
     * id
     */
    @NotBlank(message = "id不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 记录编号
     */
    @NotBlank(message = "记录编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String code;

    /**
     * 设备编号
     */
    @NotBlank(message = "设备编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deviceCode;

    /**
     * 张拉的孔号
     */
    @NotBlank(message = "张拉的孔号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String holeNumber;

    /**
     * 张拉操作的时间
     */
    @NotNull(message = "张拉操作的时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date tensioningTime;

    /**
     * 张拉的断面信息
     */
    @NotBlank(message = "张拉的断面信息不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tensioningSection;

    /**
     * 记录点的编号
     */
    @NotBlank(message = "记录点的编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String measurementPoint;

    /**
     * 张拉操作的初始行程
     */
    @NotBlank(message = "张拉操作的初始行程不能为空", groups = { AddGroup.class, EditGroup.class })
    private String initialStroke;

    /**
     * 张拉操作的第一行程
     */
    @NotBlank(message = "张拉操作的第一行程不能为空", groups = { AddGroup.class, EditGroup.class })
    private String firstStroke;

    /**
     * 张拉操作的第二行程
     */
    @NotBlank(message = "张拉操作的第二行程不能为空", groups = { AddGroup.class, EditGroup.class })
    private String secondStroke;

    /**
     * 张拉操作的第三行程
     */
    @NotBlank(message = "张拉操作的第三行程不能为空", groups = { AddGroup.class, EditGroup.class })
    private String thirdStroke;

    /**
     * 张拉操作的第四行程
     */
    @NotBlank(message = "张拉操作的第四行程不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fourthStroke;

    /**
     * 张拉操作的实测结论
     */
    @NotBlank(message = "张拉操作的实测结论不能为空", groups = { AddGroup.class, EditGroup.class })
    private String measuredConclusion;

    /**
     * 张拉操作的设计张力
     */
    @NotNull(message = "张拉操作的设计张力不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal designTension;

    /**
     * 张拉操作的设计伸长量
     */
    @NotNull(message = "张拉操作的设计伸长量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal designExtension;

    /**
     * 张拉操作的总伸长量
     */
    @NotNull(message = "张拉操作的总伸长量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal totalExtension;

    /**
     * 延伸量的误差
     */
    @NotNull(message = "延伸量的误差不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal extensionError;

    /**
     * 超过设计张力的百分比
     */
    @NotNull(message = "超过设计张力的百分比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal overTensionPercentage;

    /**
     * 回缩的量（以毫米为单位）
     */
    @NotNull(message = "回缩的量（以毫米为单位）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer shrinkageAmount;

    /**
     * 张拉操作的持荷时间（以秒为单位）
     */
    @NotNull(message = "张拉操作的持荷时间（以秒为单位）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer holdingTime;

    /**
     * 记录的时间
     */
    @NotNull(message = "记录的时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date recordTime;

    /**
     * 记录的状态
     */
    @NotBlank(message = "记录的状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;

    /**
     * 梁号
     */
    @NotBlank(message = "梁号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String beamNo;

    /**
     * 每束钢材长度
     */
    private String holeLen;

    /**
     * 滑断丝数
     */
    private String hdsNumber;


}
